#ifndef ASRMODULE_H
#define ASRMODULE_H

#include <HardwareSerial.h>
#include <Arduino.h> // 确保包含String类

class ASRModule {
private:
    HardwareSerial *_uart;
    bool _frameStart = false;
    uint8_t _rxIndex = 0;
    uint8_t _rxBuffer[64];
    void (*_callback)(const String&) = nullptr;

public:
    ASRModule(HardwareSerial &uart); // 构造函数
    void begin(uint32_t baud);
    void loop();
    void processFrame(uint8_t* frame, size_t length); // 添加声明
    void setCommandCallback(void (*callback)(const String&));
};

#endif